gdk_wayland_window_sync_parent (window);
gdk_wayland_window_sync_title (window);
gdk_wayland_window_sync_margin (window);
+
+ if (window->state & GDK_WINDOW_STATE_MAXIMIZED)
+ xdg_surface_set_maximized (impl->xdg_surface);
+ if (window->state & GDK_WINDOW_STATE_FULLSCREEN)
+ xdg_surface_set_fullscreen (impl->xdg_surface, NULL);
+
xdg_surface_set_app_id (impl->xdg_surface, gdk_get_program_class ());
}
if (GDK_WINDOW_DESTROYED (window))
return;
- if (!impl->xdg_surface)
- return;
-
- xdg_surface_set_maximized (impl->xdg_surface);
+ if (impl->xdg_surface)
+ xdg_surface_set_maximized (impl->xdg_surface);
+ else
+ gdk_synthesize_window_state (window, 0, GDK_WINDOW_STATE_MAXIMIZED);
}
static void
if (GDK_WINDOW_DESTROYED (window))
return;
- if (!impl->xdg_surface)
- return;
-
- xdg_surface_unset_maximized (impl->xdg_surface);
+ if (impl->xdg_surface)
+ xdg_surface_unset_maximized (impl->xdg_surface);
+ else
+ gdk_synthesize_window_state (window, GDK_WINDOW_STATE_MAXIMIZED, 0);
}
static void
if (GDK_WINDOW_DESTROYED (window))
return;
- if (!impl->xdg_surface)
- return;
-
- xdg_surface_set_fullscreen (impl->xdg_surface, NULL);
+ if (impl->xdg_surface)
+ xdg_surface_set_fullscreen (impl->xdg_surface, NULL);
+ else
+ gdk_synthesize_window_state (window, 0, GDK_WINDOW_STATE_FULLSCREEN);
}
static void
if (GDK_WINDOW_DESTROYED (window))
return;
- if (!impl->xdg_surface)
- return;
-
- xdg_surface_unset_fullscreen (impl->xdg_surface);
+ if (impl->xdg_surface)
+ xdg_surface_unset_fullscreen (impl->xdg_surface);
+ else
+ gdk_synthesize_window_state (window, GDK_WINDOW_STATE_FULLSCREEN, 0);
}
static void